This text file will explain what is new in the BW Zip Compress OCX - 3.0.98

You can check also the documentation in http://www.binarywork.net/maqlnf30.htm

What is new 

3.0.98 - (11/12/2000) 

1 - A bug in the control that will keep some opened handles in the memory until the termination of the control ( fixed in this version , highly recommended the upgrade to the 3.0.98 )

How to reproduce the problem:

You we need to run the sample project in Winnt 4.0 or Windows 2000 , then open the Task Manager , add all the columns available , then make a loop in the compression or decompression function in the sample project , as you will see after each execution of the functions a new handle will be opened , and this new handle will not be closed until the termination of the sample project , this will generate a waste of memory in the entire application

We want to thanks Mr. Souren M Sarafyan that have reported and explained about this problem

And since this problem will generate a waste of memory , the upgrade to the version 3.0.98 is highly recommended

2 - Added also a new method to test the integrity of Zip files during the compression or decompression , this new method will verify the entire Zip file from the first byte to the last byte , and the information is stored in the Zip file in a such way that it can be handled by any other Zip software ( Pkzip , Winzip and Info-Zip ) without problems , but notice that only the BW Zip Compress OCX will be able to test the integrity using this new method

We have developed it to provide a secure method to test the entire Zip file with a very fast and reliable method

The new functions available in the control are :
StoreNewZipVerification - To store or update the new Zip verification method
CheckNewZipVerification - To check the integrity of the Zip file
RemoveNewZipVerification - To remove the additional information from the Zip file

The sample project will demonstrate how to use the new functions

And this new method of verification of the Zip file will solve also part of the problem reported by us regarding the access of data in networks , after a copy of a Zip file over the network just call the CheckNewZipVerification to check the integrity of the file in the destination

We are working also in a replacement of the original FileCopy method available in VB that will copy and make a CRC check in the destination file to guarantee that the file was copied with success when the destination is a network sharepath or a network mapped drive

3.0.97 - (08/11/2000) 

1 - Fixed the CancelOperation function bug and the possibility to retrieve the information available only in the events as subs or functions , this will solve the problem that occurs when the control is created with CreateObject or when it is used in development tools that cannot handle VB ActiveX OCX events , minor bug fixeds.


3.0.96 : (03/08/2000) 

1 - Fixed a bug that occurs when the default temporary folder is passed as the source of the files to compress and the destination to the compressed file ,if this is the case a "Permission denied" error will occur ( Thanks to Robert Schnell for reporting the problem ) 

2 - Minor bugs fixed.

3.0.95 : (11/07/2000) 

1 - Fixed a bug that may occur in any older version only on Winnt 4.0(SP2 to SP6a) , notice that the chances of the bug occurs is really low , anyway , it is fixed in the version 3.0.95 , minor bugs fixed.

3.0.93 : (17/05/2000)

1 - Fixed bug involving files and folders with the system and hidden attribute enabled , it was a weird bug in the version 3.0.92 or below , to reproduce the problem just pass system and hidden files and folders and some errors will occur in the control ( indeed , the problem that have generated this bug will force us to update all our software , because some VB functions and API calls may return different informations depending on the OS that the application is running ) , this bug was completely fixed in the version 3.0.93 , a complete list of problems involving VB API calls  and different OSs will be created and posted in our pages as soon as possible , and you will see the number of problems that this differences may cause in VB code.

2 - Fixed bug in the ZipTempFolder function when the default system temp folder passed is hidden ( Windows 2000 ) , in older versions an error saying that it is impossible to create the temp folder will occur , fixed in this version

3 - Fixed also a bug that may occur if a "\" is added to the end of the temp folder passed to the ZipTempFolder function , the method that we were using to verify paths and Network connections had bugs , and it is completely fixed in this version

4 - Fixed bug when the Network share paths are located in a Winnt or Windows 2000 machine , due to some differences involving Win95 , Winnt and Windows 2000 the control may not report correctly the Network information , fixed in this version

4.5 Fixed a bug when the UNC path passed to the control is the  IP address and not  the machine name 

4.6 Fixed a bug when the UNC path passed  is the IP address of the target machine and the target machine is running Winnt , to reproduce the problem pass the IP address of a Winnt machine to the ZipCompress function and you will see that the share path is invisible to the control and it will report that the share path isnot there , notice that it only occur if the target machine is Winnt and not Win95/98/Win2000 ,  fixed in this version

5 -  Added the possibility to access password protected sharepaths in Win 95/98/NT 3.5/NT 4.0/Win 2000 , this new possibility will make it possible to add full Network access to applications using the control , notice that our control dont work on Winnt 3.50 but it can accessshare paths  in a Winnt 3.50 machine

6 - Added ability to logon in any Winnt based machine ( if you have the password and username , of course ) , and in case of errors when accessing the Network resources all the Network errors will be explained 

7 - Added function to enumerate the Network connections available in the system , and now the control has full access to any Windows Network

8 - Fixed bug that may not register the control In Winnt 4.0 if registered with Regsvr32.exe or if the control is installed in the destination machine with some versions of InstallShield , this bug was reported by some licensed users , and it is completely fixed in this version

9 - added the possibility to select multiples files to the compression , now you can compress files like this *.txt *.ini *.exe in a unique call to the ZipCompress function  and it will require also a few modifications in the code using older versions of the control , you only need to add a " in the front and end of the selection  passed to the FilesToCompress function , this is a sample:

Dim Myselection as string

MySelection = "My File to compress.txt"

MySelection = """" & MySelection & """"

Now pass the MySelection to the FilesToCompress argument

Notice that without this modification long filenames passed to the FilesToCompress argument will not be compressed

If the selection is multiples selections like this

MySelection = "*.exe *.ini *.txt"

or

MySelection = "myfile.txt"

Then you dont need to involve the selection in " , it is only required if the selections or file arenot in the 8.3 DOS format

Take a look in the documentation ( to be posted to the Zip Compress homepage )  to lear more 

10 - Minor bugs fixed 

3.0.9.2 : (05/04/2000) Fixed a bug that may appear when the control is running on Winnt 4.0 or Windows 2000 , the bug causes the control to fail when initializing , fixed in this version , changed also the temporary folder in the control , now it will use the normal temp folder instead the temp folder returning in the GetTempPath API function.

3.0.9 : (03/04/2000) Added support to encrypted Zip files , now the control can compress , decompress and create Zip files using the encryption method used in Winzip and Pkzip , fixed a bug that make the GetZipInfo function dont retrieve the correct information about encrypted Zip files , fixed the 'File not found' bug , fixed minor bugs

3.0.6 : (23/11/99) Added the possibility to split and join large Zip files in multiples files or disks , we have developed the split and join functions to be very easy to use and with the possibility to split and join very large files , we have tested it with files larger than 500 megabytes ( take a look in the sample project to learn how to use the functions ), Added the ability to define a temporary path to the temporary Zip file , it will avoid the problems with removable media or disks with small space , in the version 3.0.4 or older the temporary path is the destination path , Added functions to retrieve the default operating system temporary path to be used as the Zip temporary path , Fixed a few bugs involving the UNC paths ( the bug  occurs when you try to delete entries in a given Zip file and the destination folder is an UNC path , fixed in this version ), Added events to retrieve the split and join progress position

3.0.4

1 - Fixed a bug in the ZipUncompress function that occur in Winnt 40 when the user dont pass commands in the 'Options' decompression argument , if you pass only "" to the 'Options' the control wil not extract the files to the destination folder , and notice that it only occur in Winnt , in Win98 the "" will extract the files without problem , we have not verified it because during the development we always use the "-o" in the 'Options' argument , notice that to solve the problem in the 3.0.3 you only need to insert a space in the argument like this :
ret = MaqZip1.ZipUncompress("c:\back\file.zip", "*.*", "c:\back\theFolder", " ") 

2 - Added the ability to select files for exclusion in the compression , enhancements in the directory creation 

3 - Fixed minors bugs

3.0.3

1 - Fixed several bugs referred to UNC paths

2 - Fixed bug in the creation of long filenames , long directory names or filenames with spaces using UNC paths in the decompression

3 - Fixed bug when compressing or decompressing files to the root of the UNC path

4 - Fixed a bug in the 'AutoUninstall' option 

5 - Fixed a bug referred to the destination path in the compression or decompression

Beta - 3

1 - Added UNC support ( a UNC path looks like this
'\\Myserver1\Mypath1' , where the 'Myserver1'is the machine and the
'Mypath1' is a shared folder ), and now you can compress and
decompress files in your network , and mapped drives are support also
, in order to write to a UNC path you need full access to that drive ,
and in order to compress files from a UNC path you need at least read
access , and if the network destination path dont exist then it will
be created ( if you have the write access do to it ) 

At this moment we cannot access UNC paths if the path requires
password in order to be accessible

2 - Added the 'Status' function , with this function you can verify
the actual status of the OCX , this can be usefull in order to wait
for the end of the execution of the OCX , and during the execution of
the OCX the only function that you can call is the 'CancelOperation' ,
if you try to call any ther function that cannot be accessed during
the execution mode then a BEEP will occur , and if the
'CancelOperation' function is called then the OCX will return the
control to the application and it will close any process running in
the OCX 

3 - the Degubmode was changed in order to retrieve better the
information about what is occurring inside the OCX , and more
information can be retrieved at this moment

4 - Fixed a bug when the OCX need to create large paths like this
'c:\my first folder \ my second folder \ my third folder\' , the
version 2.1 and 2.2 cannot create a folder so large like that , fixed
in this version  

5 - several bugs was fixed also


Beta - 2

1 - Changed the distribution of the OCX to the BEP method (BEP -
BinaryWork Easy Package) , (and this version of BEP is working also in
the japanese version of Windows , this was a bug in older versions of
the BEP method )  then now the only thing that you need is the OCX and
you can forget about the mzip32.dll and munzip32.dll in your projects
.

2 - Fixed the method of the termination of the execution of the OCX ,
and now any process , thread , or   handle referred to the
applications atached to the OCX will be completely closed and any
resource or memory will be released ( this was a bug since the version
1.0 of this OCX )

3 - Added the 'CancelOperation' method , this new function will stop
the compression or decompression instantly and it will return the
control of the OCX to the user , and ofcourse , any process running
will be closed completely  ( this was requested for many registered
users )

4 - Changed the method that the OCX is executed , and now after the
ZipCompress or ZipDecompress any function will be locked and this will
be locked until the end of the execution or the intervention of the
user by 'CancelOperation' , and a method called 'Status' to verify the
status of the OCX was added also , this method will return whether the
OCX is working or not , and if the user try to call the ZipCompress or
ZipUncompress during the execution time then a Beep will occur

5 - Added a copy of the container (container is the object where the
OCX is located )  in the memory , this copy will use more memory but
it will give more power to the OCX and now the OCX can trace anything
that the user is doing in the container , and due to this possibility
the OCX can detect the destruction of the container instantly , to
verify if it is working correctly , start compressing a large folder
with the ocx and stop the project or close the form , you will see
that the control of the project will  return to the system instantly
and the execution of the compression or decompression  is stoped also
( this was a bug in 2.1 or 2.2 , if you try to destroy the container
the OCX will be running in the memory until the end of the execution ,
fixed in this version  )

5 - Changed the temporary folder of the OCX , and now the OCX willnot
create that folder 'Maqzip" in the Windows directory ( this folder is
created in the version 2.1 and 2.2 )

6 - Added a autouninstall function  to the OCX , if you set the
'AutoUninstall' method to true , then any folder or file created by
the OCX (in the version 2.1 and 2.2 this folder was the Maqzipx in the
windows directory )  in order to make it run will de deleted of the
system in the termination of the OCX , and ofcourse this will be
recreated in the next utilization of the OCX ( this was required by a
large number of registered users also ) , then the temporary files or
folders of the OCX only will be available and visible  to the user
during the execution of the OCX ( the default value of the
AutoUninstall function is false )


Beta - 1


1 - Added a debugmode , in this debugmode you can see what is occuring
inside the OCX at runtime
To enable the debugmode , insert an empty file in the same folder that
the OCX is located ( normally c:\windows\system )
The empty file to be inserted in the folder of the OCX is
Maqlnfdebug.txt
With this file in the same folder of the OCX the debugmode is
activated , then a file will be created in the same folder , the name
of the file that will be created is Maqlnfdebug.log , and this file
will be created by the OCX in debugmode , and two messageboxes will
appear in the beginning of the utilization of the ocx and in the
termination of the OCX also

Watch the Maqlnfdebug.log file during the runtime to see what is
occuring in the OCX , and send this Maqlnfdebug.log to the developer
in case of some errors occur

With the Maqlnfdebug.log file the developer can see what is the
problem in your project , and can solve the problem quickly 

This Maqlnfdebug.log file is limited to 65000 characters , and if the
size past 65000 then the file will be recreated from the beginning

To stop the debugmode , you only need to delete the Maqlnfdebug.txt
file , then the messagebox will disapper and the OCX will not report
anything in the Maqlnfdebug.log file , and the Maqlnfdebug.log file
can be deleted also

The debugmode will work in designmode and runtime , and you dont need
to change anything inside your project to enable or disable the
debugmode , and if your users report problems referred to the OCX ,
then you can intruct your users to enable the degubmode in their
machines and send to you the Maqlnfdebug.log file to be possible to
fix the problem

As you can see , with this new debugmode will be very dificult to
appear problems that cannot be solved , indeed a lot of problems was
already fixed after this debugmode was inserted in the OCX

2 - Added the 'Zip Information OCX' inside the OCX , and now you can
list files in a given Zip file very easy , and you can develop a
Winzip clone in a few minutes , and due to the possibility to list the
files inside the Zip file , you can also select what file inside the
Zip file you want to extract , this was required by a lot of
registered users

3  - Ability to select how much processor usage the OCX will take at
runtime , this option was stolen from our application  'BinaryWork CPU
Controller' , and with this new possibility you can create and extract
Zip files faster than ever , or you can make a Zip compressor to run
in backgroung , using only the idle time of the processor to compress
or uncompress Zip files , and this can make critical applications run
smoothly and safety 

4 - Added the principal utilizations of the OCX in the sample
application , and now you can see what arguments you need to use to
fit your needs , and a small list of the arguments available in the
sample are: 

4.1 - Compression options
Fix damaged Zip file
Force the fix of damaged Zip file
Include system and Hidden files
Compress with best compression
Compress with fastest compression
Store files - dont compress
Delete files in Zip
Compress folders and subfolders

4.2 Decompression options
Test Zip integrity - verify files in Zip
Decompress files and junk patnames - and always overwrite if existing
Decompress files and always overwrite

5 - Ability to get the information about the Zip file and list the
files in the Zip file , and verify also the CRC32 of any entry in the
Zip file , and any other relevant information about the Zip file

6 - Fixed the progressbar position , and now the value of the progress
dont return to the beginning after 90 percent , but at this moment we
are unable to reflect the perfect position of the compression or the
decompression , but we are working to retrieve the position so close
to the real position as possible

7 - Added the system errorcode event , this will report errors
generateds outside the control , and with the description of the error
also

8 - fixed the errocode event , and added the description of the error

9 - Added the possibility to add a especific long filename file like
this:
'My file to be compress.txt'
both versions 2.1 or 2.2 can insert specific files if these files are
in the DOS 8.3 format but they are unable to add a especific long
filename file unless you insert a wildcard , with the wildcard any
file in the folder will be added ,  but you cannot select which file
will be added if this is a longfilename file , this was fixed in the
3.0.0 version



What is expected to the next beta version :

1 - Ability to access a new OCX developed by us with the ability to
format , check , verify , and mark bad clusters in removable disk (
BinaryWork Disk Format OCX 1.0 ) , and split large Zip files in
multiples diskettes , and recreate it also



BinaryWork Corp.

